package proyecto.web;

import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import proyecto.excepcion.DAOExcepcion;
import proyecto.modelo.Resultado;
import proyecto.service.ResultadoService;

public class ResultadoController extends MultiActionController {

    private ResultadoService resultadoService;

    public ResultadoService getresultadoService() {
        return resultadoService;
    }

    public void setResultadoService(ResultadoService rolService) {
        this.resultadoService = rolService;
    }

    public ModelAndView buscarResultadosPorIdFichaPaciente(HttpServletRequest request, HttpServletResponse response) {
        int idFicha = Integer.parseInt(request.getParameter("id_ficha"));
        try {
            Collection<Resultado> resultados = resultadoService.buscarResultadosPorIdFichaPaciente(idFicha);
            System.out.println(resultados);
            request.setAttribute("resultados", resultados);
        } catch (DAOExcepcion ex) {
            System.err.println(ex.toString());
        }
        return new ModelAndView("/intranet_pacientes/resultados_ver");
    }

    public ModelAndView buscarResultadosPorIdFicha(HttpServletRequest request, HttpServletResponse response) {
        int idFicha = Integer.parseInt(request.getParameter("id_ficha"));
        try {
            Collection<Resultado> resultados = resultadoService.buscarResultadosPorIdFicha(idFicha);
            System.out.println(resultados);
            request.setAttribute("resultados", resultados);
        } catch (DAOExcepcion ex) {
            System.err.println(ex.toString());
        }
        return new ModelAndView("/intranet_pacientes/resultados_ver");
    }

    public ModelAndView buscarResultadosPorIdFichaLabo(HttpServletRequest request, HttpServletResponse response) {
        int idFicha = Integer.parseInt(request.getParameter("id_ficha"));
        try {
            Collection<Resultado> resultados = resultadoService.buscarResultadosPorIdFicha(idFicha);
            System.out.println(resultados);
            request.setAttribute("resultados", resultados);
        } catch (DAOExcepcion ex) {
            System.err.println(ex.toString());
        }
        return new ModelAndView("/intranet_laboratoristas/listar_resultadosxpaciente");
    }

    //public void actualizar_estado_publicacion(int id_resultado, int estado_publicacion) throws DAOExcepcion
    public ModelAndView actualizar_estado_publicacion(HttpServletRequest request, HttpServletResponse response) {
        int id_resultado = Integer.parseInt(request.getParameter("id_resultado"));
        int estado_publicacion = Integer.parseInt(request.getParameter("estado_publicacion"));
        int idFicha = Integer.parseInt(request.getParameter("id_ficha"));
        try {
            resultadoService.actualizar_estado_publicacion(id_resultado, estado_publicacion);

            Collection<Resultado> resultados = resultadoService.buscarResultadosPorIdFicha(idFicha);
            System.out.println(resultados);
            request.setAttribute("resultados", resultados);
        } catch (DAOExcepcion ex) {
            System.err.println(ex.toString());
        }
        return new ModelAndView("/intranet_laboratoristas/listar_resultadosxpaciente");
    }
}
